home *** CD-ROM | disk | FTP | other *** search
/ Aminet 25 / Aminet 25 (1998)(GTI - Schatztruhe)[!][Jun 1998].iso / Aminet / misc / kids / LittleImps.lha / imps_maths / source / imps.AMOS / imps.amosSourceCode
AMOS Source Code  |  1986-08-04  |  26KB  |  738 lines

  1. Dim X1(14),Y1(14),X2(14),Y2(14)
  2. Dir$="Disk:"
  3. Default : Wait Vbl 
  4. Cls 0 : Curs Off : Hide : Paper 0 : Cls 0
  5. Pen 3 : Locate ,5 : Centre "L O A D I N G"
  6. Pen 6 : Locate ,10 : Centre "T H E"
  7. Pen 5 : Locate ,15 : Centre "L I T T L E"
  8. Pen 4 : Locate ,20 : Centre "I M P S "
  9. F$="font"
  10. Open In 1,F$+".abk.mfnt"
  11. L=Lof(1) : Close 1
  12. Load F$+".abk" : Reserve As Work 11,L : Bload F$+".abk.mfnt",Start(11)
  13. Make Icon Mask : Bank Swap 2,10 : Extension_8_0016 0,0 : Extension_8_00A2 0
  14. Load "sam.abk" : Load "cool_breeze.abk" : Load "bob.abk" : Load "bars.abk" : Load "doors.abk" : Cls 0
  15. Screen Open 0,320,220,8,Lowres : Curs Off : Cls 0 : Hide : Paper 0
  16. Locate ,15 : Centre "QUICK CREDITS" : Wait 100
  17. Cls 0 : Extension_8_00A2 0 : Extension_8_0006 20,50,"MANY THANKS TO"
  18.  Extension_8_0006 20,80,"ARRON FOTHERGILL " : Extension_8_0006 20,110,"FOR ALL HIS ADVICE" : Extension_8_0006 20,140,"AND PATIENCE !" : Wait 250
  19. Cls 0 : Colour 1,$F0F : Extension_8_00A2 1 : Extension_8_0006 120,50,"JOIN" : Extension_8_0006 120,80,"THE" : Extension_8_0006 120,110,"AMOS" : Extension_8_0006 120,140,"CLUB" : Wait 200
  20. Cls 0 : Extension_8_00A2 0 : Extension_8_0006 100,50,"FONTS" : Extension_8_00A2 1 : Extension_8_0006 70,100,"CREATED  WITH" : Extension_8_00A2 2 : Extension_8_0006 110,150,"CTEXT" : Wait 250
  21. Cls 0 : Extension_8_00A2 2 : Extension_8_0006 20,100,"NOW THATS QUICK!" : Wait 150
  22. Screen Close 0
  23. Screen Open 0,320,190,8,Lowres : Paper 0 : Curs Off : Cls 0 : Colour 4,$FF0
  24. Paste Bob 220,16,1 : Paste Bob 30,16,5 : Paste Bob 220,56,1 : Paste Bob 30,56,5
  25. Paste Bob 220,96,1 : Paste Bob 30,96,5 : Paste Bob 220,136,1 : Paste Bob 30,136,5
  26. Pen 4 : Centre At(,0)+"THE" : Pen 2 : Centre At(,4)+"LITTLE" : Pen 4 : Centre At(,8)+"IMPS"
  27. Pen 2 : Centre At(,12)+"BY" : Pen 4 : Centre At(,16)+"GRAHAM" : Pen 2 : Centre At(,20)+"WOOD"
  28. Screen Open 1,320,190,8,Lowres : Curs Off : Cls 0
  29. Wait 10 : Dual Playfield 0,1
  30. Def Scroll 1,100,0 To 200,200,0,-1 : Def Scroll 2,70,0 To 200,196,0,1
  31. For ROLL=1 To 450
  32.    Screen Copy 0,0,0,320,1 To 1,0,1 : Screen Copy 1,0,47,320,48 To 0,0,187
  33.    Screen 0 : Scroll 1 : Screen 1 : Scroll 2
  34. Next ROLL
  35. Sam Play 6
  36. Wait 100
  37. Screen Close 0 : Screen Close 1
  38. NEW:
  39. Screen Open 0,320,280,8,Lowres : Curs Off : Cls 0 : Paper 0 : Pen 4
  40. Sam Play 3 : Sam Loop On 
  41. For Y=0 To 360 Step 20
  42.    For X=0 To 360 Step 20
  43.       Plot 180,300
  44.       Draw 160,125 To Y,X
  45.       T=Rnd(15) : Ink T
  46.    Next X
  47. Next Y
  48. For L=0 To 28 Step 4
  49.    Pen 4 : Locate ,L : Centre "IMP ATTACK         IMP ATTACK"
  50.    Pen 3 : Locate ,L : Centre "HELP"
  51. Next 
  52. Double Buffer 
  53. D=0
  54. AGAIN:
  55. Inc D : Colour 4,$FF
  56. X1=320 : Y1=20 : X2=-40 : Y2=90 : X3=320 : Y3=160
  57. For S=1 To 80
  58.    Bob 1,X1,Y1,1 : Bob 2,X2,Y2,5 : Bob 3,X3,Y3,1
  59.    X1=X1-6 : X2=X2+6 : X3=X3-6
  60.    Wait Vbl 
  61. Next S
  62. If D=2 Then Cls 0 : Screen Close 0 : Sam Loop Off : Wait 10 : Gosub GO
  63. X1=-40 : Y1=20 : X2=320 : Y2=90 : X3=-40 : Y3=160
  64. For S=1 To 80
  65.    Bob 1,X1,Y1,5 : Bob 2,X2,Y2,1 : Bob 3,X3,Y3,5
  66.    X1=X1+6 : X2=X2-6 : X3=X3+6 : Wait Vbl 
  67. Next S
  68. Goto AGAIN
  69. GO:
  70. Screen Open 0,320,380,8,Lowres : Curs Off : Show On : Cls 0 : Paper 0 : Change Mouse 17
  71. Music 1 : Colour 4,$F : Colour 1,$F0 : Extension_8_00A2 1
  72.  Extension_8_0006 2,20,"THIS IS YOUR COMPUTER,"
  73.  Extension_8_0006 2,60,"THE THINK TANKS"
  74.  Extension_8_0006 2,100,"HAVE BEEN DRAINED,"
  75.  Extension_8_0006 2,140,"CAN YOU HELP ? "
  76. Reserve Zone 1 : Set Zone 1,35,160 To 85,180
  77. Paste Bob 35,160,7 : Paste Bob 150,160,6
  78. While Mouse Key=0 : Wend 
  79. X=Mouse Zone
  80. Cls 0
  81. If X=1 Then Gosub YES Else Gosub NO
  82. YES:
  83. Play 1,68,15 : Play 2,61,15 : Hide On : Cls 0 : Paper 0
  84. Colour 4,$F73 : Colour 1,$F00 : Extension_8_0006 20,40,"PRINT YOUR NAME"
  85.  Extension_8_0006 20,70,"THEN PRESS RETURN"
  86. A$=""
  87. Repeat 
  88.    B$=Upper$(Inkey$)
  89.    If B$>=" "
  90.       A$=A$+B$
  91.    End If 
  92.    If B$=Chr$(8)
  93.       A$=Left$(A$,Len(A$)-1)
  94.       Cls 0,20,50 To 320,70
  95.    End If 
  96.    If B$<>"" : Extension_8_0006 25,100,A$ : End If 
  97. Until B$=Chr$(13)
  98. Cls 0
  99.  Extension_8_00A2 2 : Show On 
  100. Colour 4,$D7E
  101.  Extension_8_0006 10,30,"THANK YOU  " : Extension_8_0006 150,30,A$
  102.  Extension_8_0006 2,50,"YOU WILL NEED TO ANSWER "
  103.  Extension_8_0006 2,70,"       THE ADDs"
  104.  Extension_8_0006 2,90,"    THE TAKE AWAYs "
  105.  Extension_8_0006 2,110,"     THE SHAREs"
  106.  Extension_8_0006 2,130,"  AND FINALLY THE TIMEs "
  107.  Extension_8_0006 2,150,"   IF YOU'RE SUCCESSFUL"
  108.  Extension_8_0006 2,170,"THE TANKS WIIL BE FILLED "
  109.  Extension_8_0006 2,190,"WOULD YOU LIKE A PRACTICE "
  110. Reserve Zone 1 : Set Zone 1,35,200 To 120,220
  111. Paste Bob 35,195,7 : Paste Bob 150,195,6
  112. While Mouse Key=0 : Wend 
  113. X=Mouse Zone
  114. If X=1 Then Cls 0 : Gosub PRAC Else Gosub NP
  115. NP:
  116. Hide On 
  117. Double Buffer 
  118. Sam Play 6
  119. For X=350 To -90 Step -6
  120.    Bob 1,X,100,1
  121.    Wait Vbl 
  122. Next X
  123. T=0 : Y=110 : S=250 : G=250 : X=-10 : D=150 : M=6 : M1=-6 : B=0
  124. Repeat 
  125.    Inc T
  126.    K=0
  127.    Def Scroll 1,X,Y To D,G,0,M
  128.    Sam Play 5
  129.    Repeat 
  130.       Inc K
  131.       Scroll 1
  132.       Wait Vbl 
  133.    Until K=25
  134.    C=0
  135.    Def Scroll 2,X,B To D,S,0,M1
  136.    Sam Play 5
  137.    Repeat 
  138.       Inc C
  139.       Scroll 2
  140.       Wait Vbl 
  141.    Until C=25
  142.    X=120 : Y=0 : D=320 : G=116 : M=-6 : M1=6 : B=110 : S=320
  143. Until T=2
  144. Cls 0 : Screen Close 0
  145. GAME:
  146. Screen Open 0,320,250,8,Lowres
  147. Cls 0 : Extension_8_00A2 2 : Hide On 
  148. Colour 4,$F0
  149.  Extension_8_0006 3,20,"GOOD NEWS," : Extension_8_0006 100,40,A$
  150.  Extension_8_0006 3,60,"YOU CAN USE"
  151.  Extension_8_0006 3,80,"THE MAGIC KEYPAD"
  152.  Extension_8_0006 3,100,"IT HAS A WISH BUTTON"
  153.  Extension_8_0006 3,120,"IF YOU NEED HELP"
  154.  Extension_8_0006 3,180,"PRESS MOUSE KEY" : While Mouse Key=0 : Wend : While Mouse Key<>0 : Wend 
  155. Def Scroll 1,0,0 To 330,200,0,2
  156. For SC=1 To 100
  157.    Scroll 1
  158.    Sam Play 8
  159. Next SC
  160. Colour 4,$AEC
  161.  Extension_8_0006 40,50,"GOOD LUCK" : Extension_8_0006 40,80,A$ : Wait 100 : Cls 0
  162. Screen Close 0
  163. Gosub A
  164. PA:
  165. Screen Open 0,320,250,8,Lowres
  166. Curs Off : Cls 0 : Pen 4 : Paper 0 : Change Mouse 1 : Show 
  167. SCORE=10 : HA=0
  168. For T=1 To 10
  169.    SR: A=Rnd(19)+1 : B=Rnd(19)+1
  170.    If A<B Then Goto SR
  171.    Locate 16,10 : Print A;
  172.    If A<10 Then Locate 17,10 : Print A;
  173.    If B<10 Then Locate 17,11 : Print B; : Goto FR
  174.    Locate 16,11 : Print B;
  175.    FR: Locate 19,11 : Print "+"
  176.    Locate 15,12 : Print "------"
  177.    Locate 15,14 : Print "------"
  178.    Ink 5
  179.    Gosub CALCONE
  180.    If Z=12 Then Goto ANSONE
  181.    If Z=14 Then Gosub HELPA
  182.    ANSONE: If M=A+B Then Gosub GOOD : Else Gosub BAD
  183. Next T
  184. Locate 3,10 : Print "YOU SCORED";SCORE;" OUT OF 10" : Wait 150
  185. Locate 3,12 : Print " YOU NEEDED HELP WITH ";HA : Wait 150
  186. DIF=SCORE-HA : Locate 3,14 : Print "YOUR TRUE SCORE ";DIF;" OUT OF 10" : Wait 150
  187. Screen Close 0 : Gosub PRAC
  188. HELPA:
  189. Locate 16,13 : Print A+B
  190. M=A+B : Inc HA
  191. Return 
  192. A:
  193. Music 1
  194. Screen Open 0,320,250,8,Lowres
  195. Curs Off : Cls 0 : Pen 4 : Paper 0 : Show 
  196. WSC=Rnd(2)+1 : MOVE=10 : SCORE=0 : RED=1 : RF=1 : Change Mouse 23
  197. For T=1 To 10
  198.    FACE=5
  199.    For S=1 To MOVE
  200.       Paste Bob FACE,15,15
  201.       FACE=FACE+28
  202.    Next S
  203.    S: Pen 4 : A=Rnd(19)+1 : B=Rnd(19)+1
  204.    If A<B Then Goto S
  205.    Locate 16,10 : Print A;
  206.    If A<10 Then Locate 17,10 : Print A;
  207.    If B<10 Then Locate 17,11 : Print B; : Goto P
  208.    Locate 16,11 : Print B;
  209.    P: Locate 19,11 : Print "+"
  210.    Locate 15,12 : Print "------"
  211.    Locate 15,14 : Print "------"
  212.    Ink 5
  213.    Gosub CALC
  214.    If Z=12 Then Goto ANS
  215.    If Z=14 Then Gosub WISH
  216.    If WSC=0 Then Gosub NOSCORE
  217.    If SKIP=1 Then Goto P
  218.    Locate 16,13 : Print "       " : PL=10 : COV=10
  219.    For SPOT=1 To A : Paste Bob PL,50,16 : PL=PL+15 : Wait 5 : Next SPOT
  220.    For ANSPOT=1 To B : Paste Bob COV,60,16 : COV=COV+15 : Wait 5 : Next ANSPOT
  221.    Pen 4
  222.    Locate ,24 : Centre "COUNT ALL THE DOTS"
  223.    Locate ,26 : Centre "TO FIND THE ANSWER"
  224.    Paste Bob 110,118,17 : Dec WSC : Gosub CALC
  225.    ANS: If M=A+B Then Gosub RIGHT : Else Gosub WRONG
  226.    If SCORE=10 Then Gosub REWARD
  227. Next T
  228. Screen Close 0
  229. Gosub GATE
  230. PB:
  231. Screen Open 0,320,280,8,Lowres
  232. Curs Off : Cls 0 : Paper 0 : Colour 4,$F : Change Mouse 1
  233. SCORE=10 : HB=0
  234. For T=1 To 10
  235.    PJ: Pen 6 : A=Rnd(19)+1 : B=Rnd(19)+1
  236.    If A<B Then Goto PJ
  237.    Locate 16,10 : Print A;
  238.    If A<10 Then Locate 17,10 : Print A;
  239.    If B<10 Then Locate 17,11 : Print B; : Goto PK
  240.    Locate 16,11 : Print B;
  241.    PK: Locate 19,11 : Print "-"
  242.    Locate 15,12 : Print "------"
  243.    Locate 15,14 : Print "------"
  244.    Ink 6
  245.    Gosub CALCONE
  246.    If Z=12 Then Goto ANSWONE
  247.    If Z=14 Then Gosub HELPB
  248.    ANSWONE:
  249.    If M=A-B Then Gosub GOOD : Else Gosub BAD
  250. Next T
  251. Locate 3,10 : Print "YOU SCORED";SCORE;" OUT OF 10" : Wait 150
  252. Locate 3,12 : Print " YOU NEEDED HELP WITH ";HB : Wait 150
  253. DIF=SCORE-HB : Locate 3,14 : Print "YOUR TRUE SCORE ";DIF;" OUT OF 10" : Wait 150
  254. Screen Close 0 : Gosub PRAC
  255. HELPB:
  256. Locate 16,13 : Print A-B
  257. M=A-B : Inc HB
  258. Return 
  259. B:
  260. SKIP=0
  261. Screen Open 0,320,280,8,Lowres
  262. Show On : Change Mouse 23
  263. Curs Off : Cls 0 : Paper 0 : Colour 4,$F
  264. MOVE=10 : SCORE=0 : WSC=Rnd(2)+1 : BLUE=1 : RF=0 : BF=1
  265. For T=1 To 10
  266.    FACE=5
  267.    For S=1 To MOVE
  268.       Paste Bob FACE,15,15
  269.       FACE=FACE+28
  270.    Next S
  271.    J: Pen 6 : A=Rnd(19)+1 : B=Rnd(19)+1
  272.    If A<B Then Goto J
  273.    Locate 16,10 : Print A;
  274.    If A<10 Then Locate 17,10 : Print A;
  275.    If B<10 Then Locate 17,11 : Print B; : Goto K
  276.    Locate 16,11 : Print B;
  277.    K: Locate 19,11 : Print "-"
  278.    Locate 15,12 : Print "------"
  279.    Locate 15,14 : Print "------"
  280.    Ink 6
  281.    Gosub CALC
  282.    If Z=12 Then Goto ANSW
  283.    If Z=14 Then Gosub WISH
  284.    If WSC=0 Then Gosub NOSCORE
  285.    If SKIP=1 Then Goto K
  286.    Locate 16,13 : Print "       " : COV=10 : PL=10
  287.    For SPOT=1 To A : Paste Bob PL,60,16 : PL=PL+15 : Wait 5 : Next SPOT
  288.    For CROSS=1 To B : Paste Bob COV,60,14 : COV=COV+15 : Wait 5 : Next CROSS
  289.    Pen 4
  290.    Locate 7,26 : Centre "HOW MANY DOTS DO NOT"
  291.    Locate 7,28 : Centre "HAVE CROSSES?,COUNT THEM"
  292.    Locate 7,30 : Centre "TO FIND THE ANSWER"
  293.    Paste Bob 110,118,17 : Dec WSC : Gosub CALC
  294.    ANSW:
  295.    If M=A-B Then Gosub RIGHT : Else Gosub WRONG
  296.    If SCORE=10 Then Gosub REWARD
  297. Next T
  298. Screen Close 0
  299. Gosub GATE
  300. PC:
  301. Screen Open 0,320,280,8,Lowres : Change Mouse 1
  302. Curs Off : Cls 0 : Paper 0 : Colour 4,$F0
  303. SCORE=10 : HC=0
  304. For T=1 To 10
  305.    A=Rnd(5)+1 : B=Rnd(5)+1
  306.    C=A*B
  307.    Ink 4 : Draw 132,112 To 160,112 : Draw 132,112 To 132,128
  308.    PU: Pen 4 : Locate 14,15 : Print A : Locate 17,15 : Print C
  309.    Ink 14
  310.    Gosub CALCONE
  311.    If Z=12 Then Goto ANSWEONE
  312.    If Z=14 Then Gosub HELPC
  313.    Locate 15,10 : Print "        "
  314.    ANSWEONE:
  315.    If M=C/A Then Gosub GOOD : Else Gosub BAD
  316. Next T
  317. Locate 3,10 : Print "YOU SCORED";SCORE;" OUT OF 10" : Wait 150
  318. Locate 3,12 : Print " YOU NEEDED HELP WITH ";HC : Wait 150
  319. DIF=SCORE-HC : Locate 3,14 : Print "YOUR TRUE SCORE ";DIF;" OUT OF 10" : Wait 150
  320. Screen Close 0 : Gosub PRAC
  321. HELPC:
  322. Locate 16,13 : Print C/A
  323. M=C/A : Inc HC
  324. Return 
  325. C:
  326. SKIP=0 : Show On : Change Mouse 23
  327. Screen Open 0,320,280,8,Lowres
  328. Curs Off : Cls 0 : Paper 0 : Colour 4,$F0
  329. COVER=1 : MOVE=10 : SCORE=0 : WSC=Rnd(2)+1 : GREEN=1 : BF=0 : GF=1
  330. For T=1 To 10
  331.    FACE=5
  332.    For S=1 To MOVE
  333.       Paste Bob FACE,15,15
  334.       FACE=FACE+28
  335.    Next S
  336.    A=Rnd(5)+1 : B=Rnd(5)+1
  337.    C=A*B
  338.    Ink 4 : Draw 132,112 To 160,112 : Draw 132,112 To 132,128
  339.    U: Pen 4 : Locate 14,15 : Print A : Locate 17,15 : Print C
  340.    Ink 14
  341.    Gosub CALC
  342.    If Z=12 Then Goto ANSWE
  343.    If Z=14 Then COVER=1 : Gosub WISH
  344.    If WSC=0 Then COVER=1 : Gosub NOSCORE
  345.    If SKIP=1 Then Goto U
  346.    Locate 15,10 : Print "        "
  347.    OX=50 : MB=40
  348.    For E=1 To B
  349.       LO=10 : 
  350.       OX=OX+15 : MB=MB+15
  351.       For ROW=1 To A : Paste Bob LO,MB,16 : LO=LO+15 : Wait 5 : Next ROW
  352.       Ink 4 : Box 10,OX To LO,MB
  353.       Wait 10
  354.    Next E
  355.    Pen 4
  356.    Locate 10,26 : Centre "COUNT THE BOXES"
  357.    Locate 10,28 : Centre "TO FIND THE ANSWER"
  358.    Paste Bob 110,125,17 : Dec WSC : Gosub CALC
  359.    ANSWE:
  360.    If M=C/A Then Gosub RIGHT : Else Gosub WRONG
  361.    If SCORE=10 Then Gosub REWARD
  362. Next T
  363. Screen Close 0
  364. Gosub GATE
  365. PD:
  366. Screen Open 0,320,280,8,Lowres : Change Mouse 1
  367. Curs Off : Cls 0 : Paper 0 : Colour 4,$FF0
  368. SCORE=10 : HD=0
  369. For T=1 To 10
  370.    PICKO: A=Rnd(12) : B=Rnd(11)+1 : Pen 7
  371.    If A<B Then Goto PICKO
  372.    Pen 4 : Locate 16,10 : Print A;
  373.    If A<10 Then Locate 17,10 : Print A;
  374.    If B<10 Then Locate 17,11 : Print B; : Goto PL
  375.    Locate 16,11 : Print B;
  376.    PL: Ink 4 : Locate 19,11 : Print "x"
  377.    Locate 15,12 : Print "------"
  378.    Locate 15,14 : Print "------"
  379.    Ink 4
  380.    Gosub CALCONE
  381.    If Z=12 Then Goto ANSWERONE
  382.    If Z=14 Then Gosub HELPD
  383.    Pen 4 : S=7 : G=1
  384.    ANSWERONE:
  385.    If M=A*B Then Gosub GOOD : Else Gosub BAD
  386. Next T
  387. Locate 3,10 : Print "YOU SCORED";SCORE;" OUT OF 10" : Wait 150
  388. Locate 3,12 : Print " YOU NEEDED HELP WITH ";HD : Wait 150
  389. DIF=SCORE-HD : Locate 3,14 : Print "YOUR TRUE SCORE ";DIF;" OUT OF 10" : Wait 150
  390. Screen Close 0 : Gosub PRAC
  391. HELPD:
  392. Locate 16,13 : Print A*B
  393. M=A*B : Inc HD
  394. Return 
  395. D:
  396. COVER=0 : SKIP=0 : 
  397. Screen Open 0,320,280,8,Lowres : Show On : Change Mouse 23
  398. Curs Off : Cls 0 : Paper 0 : Colour 4,$FF0
  399. MOVE=10 : SCORE=0 : WSC=Rnd(2)+1 : YELLOW=1 : GF=0 : YF=1
  400. For T=1 To 10
  401.    FACE=5
  402.    For S=1 To MOVE
  403.       Paste Bob FACE,15,15
  404.       FACE=FACE+28
  405.    Next S
  406.    PICK: A=Rnd(12) : B=Rnd(11)+1 : Pen 7
  407.    If A<B Then Goto PICK
  408.    Pen 4 : Locate 16,10 : Print A;
  409.    If A<10 Then Locate 17,10 : Print A;
  410.    If B<10 Then Locate 17,11 : Print B; : Goto L
  411.    Locate 16,11 : Print B;
  412.    L: Ink 4 : Locate 19,11 : Print "x"
  413.    Locate 15,12 : Print "------"
  414.    Locate 15,14 : Print "------"
  415.    Ink 4
  416.    Gosub CALC
  417.    If Z=12 Then Goto ANSWER
  418.    If Z=14 Then Gosub WISH
  419.    If WSC=0 Then Gosub NOSCORE
  420.    If SKIP=1 Then Goto L
  421.    Locate 16,13 : Print "      "
  422.    Pen 4 : S=7 : G=1
  423.    For J=0 To 12
  424.       Locate G,S : P=J*A
  425.       Print J;" x";A;"=";P : Wait 10
  426.       If J=9 Then G=0
  427.       S=S+2
  428.    Next J
  429.    Pen 4
  430.    Locate 15,26 : Print "LOOK AT THE TABLES" : Locate 15,28 : Print "TO FIND THE ANSWER" : Paste Bob 110,118,17 : Dec WSC : Gosub CALC
  431.    ANSWER:
  432.    If M=A*B Then Gosub RIGHT : Else Gosub WRONG
  433.    If SCORE=10 Then Gosub REWARD
  434. Next T
  435. Screen Close 0
  436. Gosub GATE
  437. PRAC:
  438. Screen Open 1,320,250,8,Lowres : Curs Off : Cls 0 : Show On : Paper 0
  439. Locate ,2 : Centre "PICK THE ONE" : Locate ,4 : Centre "THAT YOU WANT TO PRACTICE"
  440. Reserve Zone 5
  441. Z=1
  442. For Y=50 To 200 Step 35
  443.    Set Zone Z,20,Y To 40,Y+20
  444.    Paste Bob 19,Y-2,12
  445.    Z=Z+1
  446. Next Y
  447. Pen 4 : Locate 6,7 : Print "A D Ds" : Pen 6 : Locate 6,12 : Print "T A K E  A W A Ys"
  448. Pen 5 : Locate 6,16 : Print "S H A R Es" : Colour 2,$FF0 : Pen 2 : Locate 6,20 : Print "T I M Es"
  449. Colour 1,$F0F : Pen 1 : Locate 6,25 : Print "R E A D Y  T O  F I L L  T A N K S "
  450. F:
  451. Z=0 : While Z=0
  452.    While Mouse Key=0 : Wend 
  453. Z=Mouse Zone : Wend 
  454. Z=Mouse Zone
  455. If Z=1 Then Cls 0 : Screen Close 1 : Gosub PA
  456. If Z=2 Then Cls 0 : Screen Close 1 : Gosub PB
  457. If Z=3 Then Cls 0 : Screen Close 1 : Gosub PC
  458. If Z=4 Then Cls 0 : Screen Close 1 : Gosub PD
  459. If Z=5 Then Cls 0 : Screen Close 1 : Gosub GAME
  460. NOSCORE:
  461. Locate 16,12 : Print "       " : Locate 16,12 : Print "-----"
  462. Locate 16,13 : Print "     " : If COVER=1 Then Locate 16,12 : Print "      "
  463. Sam Play 6 : For X=0 To 370 Step 4 : Bob 1,X,150,5 : Wait Vbl 
  464. Next X : Bob Off 1 : Locate 4,19 : Print "NO WISHES LEFT" : SKIP=1 : Return 
  465. WISH:
  466. Locate 16,13 : Print "     " : Locate 16,12 : Print "     " : Locate 16,12 : Print "-----"
  467. If COVER=1 Then Locate 16,12 : Print "       " : BLANK=0
  468. Z=220 : Q=165 : Z1=220 : Q1=165 : Z2=220 : Q2=165 : Z3=220 : Q3=165 : Z4=220 : Q4=165 : Z5=220 : Q5=165
  469. DZ=1 : DQ=2 : DZ1=2 : DQ1=-3 : DZ2=3 : DQ2=1 : DZ3=3 : DQ3=3 : DZ4=3 : DQ4=2 : DZ5=5 : DQ5=1
  470. For J=1 To 100
  471.    Bob 1,Z,Q,17 : Bob 2,Z1,Q1,17 : Bob 3,Z2,Q2,17 : Bob 4,Z3,Q3,17 : Bob 5,Z4,Q4,17 : Bob 6,Z5,Q5,17
  472.    Z=Z-DZ : Q=Q-DQ : Z1=Z1-DZ1 : Q1=Q1-DQ1 : Z2=Z2-DZ2 : Q2=Q2-DQ2 : Z3=Z3-DZ3 : Q3=Q3-DQ3 : Z4=Z4-DZ4 : Q4=Q4-DQ4 : Z5=Z5-DZ5 : DQ5=DQ5-DQ5
  473.    Wait 1
  474.    Sam Play 1
  475. Next J
  476. For BOP=1 To 6 : Bob Off BOP : Next BOP
  477. Return 
  478. CALCONE:
  479. Reserve Zone 14
  480. Z=1 : BO=12 : M=0
  481. For Y=0 To 3 : For X=0 To 2
  482.       Z=2+X+Y*3
  483.       Paste Bob 200+X*22,75+Y*22,BO
  484.       YZONE[Z,200+X*22,75+Y*22,220+X*22,95+Y*22]
  485. Next X : Next Y
  486. MYZONE[14,210,165,260,185] : Paste Bob 203,165,11
  487. NUMBER:
  488.  Extension_8_00A2 0 : While Mouse Key=1 : Wend : Extension_8_0006 207,185,"Help"
  489.  Extension_8_0006 208,95,"1" : Extension_8_0006 229,95,"2" : Extension_8_0006 251,95,"3" : Extension_8_0006 205,117,"4" : Extension_8_0006 228,117,"5" : Extension_8_0006 250,117,"6" : Extension_8_0006 206,139,"7" : Extension_8_0006 229,139,"8" : Extension_8_0006 250,139,"9"
  490.  Extension_8_0006 206,161,"0" : Extension_8_0006 227,161,"E" : Extension_8_0006 249,161,"C"
  491. Reset Zone 11 : YZONE[1,200,141,220,161]
  492. Z=0 : While Z<>12 : While Mouse Key=0 : Wend 
  493.    Z=Mouse Zone : If Z>0 and Z<11 : M=10*M+Z-1 : End If 
  494.    Locate 16,13 : Print M
  495.    If Z=12 Then Return 
  496.    If Z=13 : M=0 : Locate 16,13 : Print "     " : End If 
  497.    If Z=14 Then Return 
  498.    While Mouse Key<>0 : Wend 
  499. Z=0 : Wend 
  500. Procedure YZONE[A,X1,Y1,X2,Y2]
  501.    Shared X1(),Y1(),X2(),Y2()
  502.    Set Zone A,X1,Y1 To X2,Y2
  503.    X1(A)=X1 : Y1(A)=Y1 : X2(A)=X2 : Y2(A)=Y2
  504. End Proc
  505. CALC:
  506. Reserve Zone 14 : Z=1 : BO=12 : M=0
  507. For Y=0 To 3 : For X=0 To 2
  508.       Z=2+X+Y*3
  509.       Paste Bob 200+X*22,75+Y*22,BO
  510.       MYZONE[Z,200+X*22,75+Y*22,220+X*22,95+Y*22]
  511. Next X : Next Y
  512. MYZONE[14,210,165,260,185] : Paste Bob 203,165,11
  513. NUMBERS:
  514.  Extension_8_00A2 0 : While Mouse Key=1 : Wend 
  515. Paste Bob X1(Z),Y1(Z),12 : Extension_8_0006 207,185,"wish"
  516.  Extension_8_0006 208,95,"1" : Extension_8_0006 229,95,"2" : Extension_8_0006 251,95,"3" : Extension_8_0006 205,117,"4" : Extension_8_0006 228,117,"5" : Extension_8_0006 250,117,"6" : Extension_8_0006 206,139,"7" : Extension_8_0006 229,139,"8" : Extension_8_0006 250,139,"9"
  517.  Extension_8_0006 206,161,"0" : Extension_8_0006 227,161,"E" : Extension_8_0006 249,161,"C"
  518. Reset Zone 11 : MYZONE[1,200,141,220,161]
  519. Z=0 : While Z<>12 : While Mouse Key=0 : 
  520.    Wend 
  521.    Z=Mouse Zone : If Z>0 and Z<11 : M=10*M+Z-1 : Paste Bob X1(Z),Y1(Z),18 : End If 
  522.    M$=Str$(M) : Locate 16,13 : Print M$
  523.    If Z=12 Then Paste Bob X1(Z),Y1(Z),18 : While Mouse Key=1 : Wend : Return 
  524.    If Z=13 : M=0 : BLANK=COVER : Paste Bob X1(Z),Y1(Z),18 : Locate 16,13 : Print "     " : Locate 16,12 : Print "     " : Locate 16,12 : Print "-----" : End If 
  525.    If BLANK=1 Then Locate 16,12 : Print "       " : BLANK=0
  526.    If Z=14 Then Return 
  527.    If Z<>0 Then Goto NUMBERS
  528.    While Mouse Key<>0 : Wend 
  529. Z=0 : Wend 
  530. Procedure MYZONE[A,X1,Y1,X2,Y2]
  531.    Shared X1(),Y1(),X2(),Y2()
  532.    Set Zone A,X1,Y1 To X2,Y2
  533.    X1(A)=X1 : Y1(A)=Y1 : X2(A)=X2 : Y2(A)=Y2
  534. End Proc
  535. REWARD:
  536. Hide : Cls 0 : Extension_8_00A2 2 : Extension_8_0006 10,30,"WELL DONE" : Extension_8_0006 150,30,A$ : Extension_8_0006 50,50,"ALL TEN CORRECT"
  537. PL=30 : For SPOT=1 To 6 : Paste Bob PL,70,19 : PL=PL+45 : Play 1,64,15 : Next SPOT
  538. G=20 : For FA=1 To 4 : Paste Bob G,100,17 : G=G+70 : Next FA
  539. PL=30 : For SPOT=1 To 6 : Paste Bob PL,170,19 : PL=PL+45 : Play 1,64,15 : Next SPOT
  540. Wait 50 : Return 
  541. RIGHT:
  542. Hide : Cls 0 : Screen Open 1,320,250,8,Lowres : Cls 0 : Extension_8_00A2 2 : Double Buffer 
  543. If RED=1 Then Colour 4,$F00
  544. If BLUE=1 Then Colour 4,$F
  545. If GREEN=1 Then Colour 4,$F0
  546. If YELLOW=1 Then Colour 4,$FF0
  547. X1=320 : Y1=30 : X2=320 : Y2=120 : Sam Play 6
  548. For S=1 To 50
  549.    Bob 1,X1,Y1,1 : Bob 2,X2,Y2,1
  550.    X1=X1-4 : X2=X2-4
  551.    Wait Vbl 
  552. Next S
  553. Sam Play 2 : Bob 5,25,60,13
  554.  Extension_8_0006 110,100,"CORRECT" : Bob Off 1 : Bob Off 2
  555. Y1=Y1 : Y2=Y2
  556. For SCARE=1 To 100
  557. Bob 3,X1,Y1,2 : Bob 4,X2,Y2,4 : Y1=Y1-4 : Y2=Y2+4 : Wait Vbl : Next SCARE
  558. Bob Off 3 : Bob Off 4 : Bob Off 5 : Inc SCORE : Dec MOVE : Screen Close 1 : Show : Return 
  559. GOOD: Locate ,2 : Centre "C O R R E C T" : Wait 100 : Cls 0 : Return 
  560. BAD: Locate ,2 : Centre "W R O N G" : Wait 100 : Cls 0 : Dec SCORE : Return 
  561. WRONG:
  562. Hide : Cls 0 : Screen Open 2,320,250,8,Lowres : Cls 0
  563. Double Buffer 
  564. If RED=1 Then Colour 4,$F00
  565. If BLUE=1 Then Colour 4,$F
  566. If GREEN=1 Then Colour 4,$F0
  567. If YELLOW=1 Then Colour 4,$FF0
  568. X1=320 : Y1=30 : X2=320 : Y2=120 : Sam Play 6 : Sam Loop On 
  569. For S=1 To 100
  570.    Bob 1,X1,Y1,1 : Bob 2,X2,Y2,1
  571.    X1=X1-4 : X2=X2-4
  572.    Wait Vbl 
  573.    If S=50 : Bob Off 1 : Bob Off 2 : Gosub SPIN : End If 
  574. Next S
  575. Goto G
  576. SPIN:
  577. W=1
  578. For T=1 To 6
  579.    W=W+1
  580.    Bob 3,X1,Y1,W : Bob 4,X2,Y2,W
  581.    Wait 10
  582.    If W=4 Then W=1
  583. Next T
  584. Sam Loop Off : Bob Off 3 : Bob Off 4 : Extension_8_00A2 0 : Extension_8_0006 110,75,"WRONG" : Extension_8_0006 78,115,"START AGAIN"
  585. Return 
  586. G:
  587. SCORE=0 : T=0 : MOVE=10 : Cls 0 : Screen Close 2 : Show : Return 
  588. NO:
  589. Hide : Cls 0 : Extension_8_0006 20,120,"THANKS   FOR   NOTHING" : Wait 100 : Cls 0 : Music Off : Gosub NEW
  590. GATE:
  591. Screen Open 0,320,256,8,Lowres
  592. Curs Off : Cls 0 : Show : Unpack 15 To 0
  593. Reserve Zone 1 : Set Zone 1,135,170 To 150,200
  594. Do 
  595.    M=Mouse Zone
  596.    If M=1 Then Wait 25 : Fade 20 : Wait 270 : Screen Close 0 : Goto MOUSESHOOT
  597. Loop 
  598. MOUSESHOOT:
  599. Screen Open 0,320,256,8,Lowres
  600. Double Buffer 
  601. Curs Off : Cls 0 : Hide : Paper 0
  602. If RED=1 Then Colour 4,$F00
  603. If BLUE=1 Then Colour 4,$F
  604. If GREEN=1 Then Colour 4,$F0
  605. If YELLOW=1 Then Colour 4,$FF0
  606. N=10 : S=10 : Q=0
  607. Locate 15,1 : Pen 4 : Print "10 TO GO"
  608. IMP:
  609. X1=320 : Y1=20 : X2=-40 : Y2=90
  610. Do 
  611.    GX=X Screen(X Mouse) : GY=220
  612.    Bob 3,GX,GY,22
  613.    Wait Vbl 
  614.    Bob 1,X1,Y1,1 : Bob 2,X2,Y2,24
  615.    X1=X1-6 : X2=X2+6
  616.    If Bob Col(1) Then Bob Off 5 : STAR=0 : Sam Play 5 : Gosub HIT
  617.    If Bob Col(2) Then Bob Off 5 : STAR=0 : Gosub MISS
  618.    If Mouse Key=1 and STAR=0 Then Sam Play 2 : STAR=1 : Bob 5,DX,DY,21 : DX=GX+10 : DY=GY
  619.    If STAR=1 Then Add DY,-8 : Bob 5,DX,DY,21 : If DY<GY-180 Then Bob Off 5 : STAR=0
  620.    If X1=-10 Then X1=320
  621.    If X2=350 Then X2=-40
  622. Loop 
  623. MISS:
  624. X1=X1 : Y1=Y1 : X2=X2 : Y2=Y2
  625. Pen 4 : Locate 14,10 : Print "NOT THAT ONE"
  626. For M=1 To 50
  627.    Bob 1,X1,Y1,1 : Bob 2,X2,Y2,24
  628.    X1=X1-6 : X2=X2+6
  629.    Wait Vbl 
  630. Next M
  631. Ink 0 : Bar 110,80 To 210,86
  632. Goto IMP
  633. HIT:
  634. X3=X1+10 : Y3=Y1+20 : Dec N
  635. For D=1 To 100
  636.    Bob 1,X1,Y1,1 : Bob 2,X2,Y2,24 : Bob 6,X3,Y3,23
  637.    X1=X1-6 : X2=X2+6 : Y3=Y3+4
  638.    Wait Vbl 
  639. Next D
  640. Dec S
  641. Q=Q+25 : Paste Bob Q,225,23 : Locate 15,1 : Pen 4 : Print N;" TO GO" : Wait 10
  642. If S=0 Then Locate ,8 : Locate 15,1 : Print "                    " : Centre "ALL TEN COLLECTED" : Paste Bob 250,225,23 : Locate ,10 : Centre "PRESS MOUSE KEY TO CALL TANKS" : While Mouse Key=0 : Wend : Gosub RESULT
  643. Goto IMP
  644. RESULT:
  645. Unpack 14 To 0 : Wait 50
  646. For Y=320 To 40 Step -2
  647.    Screen Display 0,,Y,,256
  648.    Wait Vbl 
  649.    If BF=1 Then Paste Bob 44,74,8
  650.    If GF=1 Then Paste Bob 44,74,8 : Paste Bob 117,74,9
  651.    If YF=1 Then Paste Bob 44,74,8 : Paste Bob 117,74,9 : Paste Bob 183,74,10
  652. Next Y
  653. If RF=1 Then Gosub AING
  654. If BF=1 Then Gosub TAKE
  655. If GF=1 Then Gosub SHARE
  656. If YF=1 Then Gosub TIMES
  657. AING:
  658.  Extension_8_0006 40,20,"FILLING ADDING TANK" : A=45 : B=182
  659. For I=0 To 107
  660.    For J=0 To 16
  661.       Plot A+J,B
  662.    Next J
  663.    Wait 4
  664.    Dec B
  665.    Bell 
  666. Next I
  667. Wait 100 : Cls 1
  668. Screen Close 0
  669. Screen Open 0,320,250,8,Lowres
  670. Cls 0 : Colour 4,$F00
  671.  Extension_8_0006 20,50,"NICE ONE" : Extension_8_0006 140,50,A$ : Extension_8_0006 30,70,"YOU FILLED THE TANK" : Extension_8_0006 30,90,"AND SCARED OFF THE IMP"
  672.  Extension_8_0006 20,110,"NOW CAN YOU FILL" : Extension_8_0006 40,130,"THE TAKE AWAY TANK ?" : Extension_8_0006 70,150,"PRESS MOUSE KEY"
  673. While Mouse Key=0 : Wend : While Mouse Key<>0 : Wend : Screen Close 0 : Gosub B
  674. TAKE:
  675.  Extension_8_0006 40,20,"FILLING TAKE AWAY TANK" : Ink 10 : A=117 : B=182
  676. For I=0 To 107
  677.    For J=0 To 16
  678.       Plot A+J,B
  679.    Next J
  680.    Wait 4
  681.    Dec B
  682.    Bell 
  683. Next I
  684. Wait 100 : Cls 1
  685. Screen Close 0
  686. Screen Open 0,320,250,8,Lowres
  687. Cls 0 : Colour 4,$F
  688.  Extension_8_0006 20,50,"KEEP COOL" : Extension_8_0006 150,50,A$ : Extension_8_0006 30,70,"YOU FILLED THE TANK" : Extension_8_0006 30,90,"AND SCARED OFF THE IMP"
  689.  Extension_8_0006 20,110,"NOW CAN YOU FILL" : Extension_8_0006 40,130,"THE SHARES TANK ?" : Extension_8_0006 70,150,"PRESS MOUSE KEY"
  690. While Mouse Key=0 : Wend : While Mouse Key<>0 : Wend : Screen Close 0 : Gosub C
  691. SHARE:
  692.  Extension_8_0006 40,20,"FILLING SHARES TANK" : Ink 8 : A=183 : B=182
  693. For I=0 To 107
  694.    For J=0 To 16
  695.       Plot A+J,B
  696.    Next J
  697.    Wait 4
  698.    Dec B
  699.    Bell 
  700. Next I
  701. Wait 100 : Cls 1
  702. Screen Close 0
  703. Screen Open 0,320,250,8,Lowres : Cls 0 : Colour 4,$F0
  704.  Extension_8_0006 20,50,"GREAT" : Extension_8_0006 120,50,A$ : Extension_8_0006 30,70,"YOU FILLED THE TANK" : Extension_8_0006 30,90,"AND SCARED OFF THE IMP"
  705.  Extension_8_0006 20,110,"NOW CAN YOU FILL" : Extension_8_0006 40,130,"THE TIMES TANK ?" : Extension_8_0006 70,150,"PRESS MOUSE KEY"
  706. While Mouse Key=0 : Wend : While Mouse Key<>0 : Wend : Screen Close 0 : Gosub D
  707. TIMES:
  708.  Extension_8_0006 40,20,"FILLING TIMES TANK" : Ink 5 : A=255 : B=182
  709. For I=0 To 107
  710.    For J=0 To 16
  711.       Plot A+J,B
  712.    Next J
  713.    Wait 4
  714.    Dec B
  715.    Bell 
  716. Next I
  717. Wait 100 : Cls 1
  718. Screen Close 0
  719. Screen Open 0,320,250,8,Lowres : Cls 0 : Colour 4,$FF0
  720.  Extension_8_0006 20,50,"THAT'S IT" : Extension_8_0006 140,50,A$ : Extension_8_0006 30,70,"ALL TANKS FILLED" : Extension_8_0006 50,90,"TO TEST COMPUTER"
  721.  Extension_8_0006 70,110,"PRESS MOUSE KEY" : While Mouse Key=0 : Wend : While Mouse Key<>0 : Wend : Screen Close 0 : Gosub FINISH
  722. FINISH:
  723. Screen Open 0,320,280,8,Lowres : Curs Off : Cls 0 : Paper 0 : Colour 7,$FF0 : Hide 
  724. For W=1 To 3 : Pen 4 : C=A+B : A=Rnd(5000) : B=Rnd(5000)
  725.    Locate 1,8 : Print A;" ADD ";B;" = ";C : Pen 6 : C=A-B : A=Rnd(5000) : B=Rnd(5000)
  726.    Locate 1,10 : Print A;" TAKE AWAY ";B;" = ";C : Pen 5 : C=A*B : A=Rnd(5000) : B=Rnd(5000)
  727.    Locate 1,12 : Print C;" SHARE ";B;"=";A : Pen 7 : C=A*B : A=Rnd(5000) : B=Rnd(5000)
  728.    Locate 1,14 : Print A;" TIMES ";B;" = ";C
  729.    Wait 50 : Shoot : Locate 10,16 : Pen 3 : Print "ALL CORRECT" : Wait 100 : Shoot : Cls 0 : Wait 20
  730. Next 
  731. For B=0 To 63 : Volume B : Bell 80 : Wait 5 : Next B
  732. Pen 2 : Locate ,4 : X=0
  733. For C=1 To 5 : Paste Bob X,20,17 : Paste Bob X,180,19 : X=X+62 : Next 
  734.  Extension_8_00A2 2 : Extension_8_0006 20,110,"COMPUTER WORKING" : Extension_8_0006 40,145,"PRESS MOUSE KEY" : Extension_8_0006 20,180," FOR YOUR REWARD"
  735. While Mouse Key=0 : Wend : While Mouse Key<>0 : Wend : Cls O
  736. Curs Off : Hide : Cls 0 : Load Iff "cert",0
  737. Locate ,10 : Paper 0 : Pen 1
  738. Bank Swap 2,10 : Bank Swap 2,10 : Extension_8_00A2 1 : Extension_8_0006 90,93,A$ : Wait 600 : Music Off : Screen Close 0 : Gosub NEW